home *** CD-ROM | disk | FTP | other *** search
- ;%%%%%%%%%%%%%%%%%%%%%%%%
- ;script irc2
- ;version 3.0
- ;author Quietust
- ;email quietust@ircN.org
- ;url http://www.ircN.org
- ;%%%%%%%%%%%%%%%%%%%%%%%%
- on 1:SOCKOPEN:irc2.* {
- if ($sockerr > 0) {
- i2.secho $sockname $colour(Info) *** Connection attempt failed...
- return
- }
- if ($portfree(113)) socklisten identd 113
- i2.set $sockname con on
- if (%irc2.nick) i2.set $sockname me %irc2.nick
- elseif (%irc2.altnick) i2.set $sockname me %irc2.altnick
- else i2.set $sockname me $left($me,8) $+ $rand(0,9)
- i2.set $sockname me.h $hc($i2.var($sockname,me))
- i2.quote $sockname NICK $i2.var($sockname,me)
- if ($i2.var($sockname,pass)) i2.quote PASS $i2.var($sockname,pass)
- i2.quote $sockname USER $mirc.ini(ident,userid) " $+ $host $+ " " $+ $sock($sockname).ip $+ " : $+ $mirc.ini(mirc,user)
- if ($window($i2.status($sockname))) titlebar $i2.status($sockname) $i2.var($sockname,pass)
- else i2.exit $sockname
- }
- on 1:SOCKREAD:irc2.* {
- if ($sockerr > 0) {
- i2.secho $sockname $colour(Info) *** Connection lost
- timoff %timer.i2notify timer.i2notify
- if ($mflag(options,n0,27) == 1) sockclose identd
- i2.quit $sockname
- i2.closechans
- return
- }
- sockread %i2.parse
- if ($sockbr == 0) return
- i2.parse $sockname %i2.parse
- }
- on 1:SOCKCLOSE:irc2.* {
- i2.secho $sockname $colour(Info) *** Disconnected
- timoff %timer.i2notify timer.i2notify
- if ($mflag(options,n0,27) == 1) sockclose identd
- i2.quit $sockname
- }
- on 1:INPUT:@irc*á* {
- if ($1 == $null) halt
- elseif ($left($1,1) != /) {
- if ($active == $i2.status($i2.actsession($active))) i2.secho $i2.actsession($active) $colour(Info) *** You're not on a channel
- elseif ((%nc == on) && ($right($1,1) == %nch) && ($1 != %nch) && ($chr(44) !isin $getleft($1)) && ($chr(40) !isin $getleft($1)) && ($chr(41) !isin $getleft($1)) && ($i2.ncc($i2.actsession($active),$getleft($1)))) i2.pmsg $i2.actsession($active) $i2.active $ncomp($i2.ncc($i2.actsession($active),$getleft($1))) $2-
- else i2.pmsg $i2.actsession($active) $i2.active $1-
- }
- elseif ($1 == /say) i2.pmsg $i2.actsession($active) $i2.active $2-
- elseif ($1 == //say) .timer 1 0 i2.pmsg $i2.actsession($active) $i2.active $2-
- elseif (($1 == /j) || ($1 == /join)) {
- if ($2 != $null) i2.join $i2.actsession($active) $2-
- else i2.iecho $i2.actsession($active) Syntax: $1 <channel>
- }
- elseif (($1 == /p) || ($1 == /part)) {
- if ($i2.ischan($2)) i2.part $i2.actsession($active) $2 $3-
- elseif ($i2.ischan($i2.active)) i2.part $i2.actsession($active) $i2.active $2-
- else i2.iecho $i2.actsession($active) Syntax: $1 [channel] [reason]
- }
- elseif (($1 == /m) || ($1 == /msg)) i2.pmsg $i2.actsession($active) $i2.nc($i2.actsession($active),$2) $3-
- elseif (($1 == /n) || ($1 == /notice)) i2.notice $i2.actsession($active) $2-
- elseif ($1 == /ctcp) i2.ctcp $i2.actsession($active) $i2.nc($i2.actsession($active),$2) $3-
- elseif ($1 == /ping) i2.ctcp2 $i2.actsession($active) PING $2
- elseif ($1 == /ver) i2.ctcp2 $i2.actsession($active) VERSION $2
- elseif ($1 == /addon) i2.ctcp2 $i2.actsession($active) ADDON $2
- elseif ($1 == /nick) {
- if ($2 != $null) i2.quote $i2.actsession($active) nick $2
- else i2.iecho $i2.actsession($active) Syntax: /nick <nick>
- }
- elseif ($1 == /cycle) i2.cycle $i2.actsession($active) $2
- elseif ($1 == /ban) i2.ban $i2.actsession($active) $2-
- elseif ($1 == /op) {
- if ($2 != $null) i2.mmode $i2.actsession($active) + o $2-
- else i2.syntax $i2.actsession($active) $1
- }
- elseif ($1 == /dop) {
- if ($2 != $null) i2.mmode $i2.actsession($active) - o $2-
- else i2.syntax $i2.actsession($active) $1
- }
- elseif ($1 == /v) {
- if ($2 != $null) i2.mmode $i2.actsession($active) + v $2-
- else i2.syntax $i2.actsession($active) $1
- }
- elseif ($1 == /dv) {
- if ($2 != $null) i2.mmode $i2.actsession($active) - v $2-
- else i2.syntax $i2.actsession($active) $1
- }
- elseif (($1 == /k) || ($1 == /kick)) i2.kick $i2.actsession($active) $1-
- elseif ($1 == /i) {
- if ($2 != $null) i2.quote $i2.actsession($active) invite $2 $i2.active
- else i2.iecho $i2.actsession($active) Syntax: /i <nick>
- }
- elseif (($1 == /invite) && ($i2.ischan($3) == $false)) i2.iecho $i2.actsession($active) Syntax: /invite <nick> <channel>
- elseif (($1 == /kb) || ($1 == /bk)) {
- if ($2 != $null) {
- if (($i2.ischan($2)) && ($i2.ischan($3) == $false)) i2.ban $i2.actsession($active) $2 $3 3
- else i2.ban $i2.actsession($active) $2 3
- i2.kick $i2.actsession($active) $1-
- }
- else i2.iecho $i2.actsession($active) Syntax: $1 [chan] <nick> [reason]
- }
- elseif ($1 == /save) {
- if ($i2.ischan($i2.active)) {
- set %i2cloc $swlc($active)
- iecho Saved irc2 channel window locations.
- }
- elseif ($i2.active == Status:) {
- set %i2loc $swlc($active)
- iecho Saved irc2 status window location.
- }
- else {
- set %i2qloc $swlc($active)
- iecho Saved irc2 query window locations.
- }
- }
- elseif ($1 == /topic) {
- if ($3) i2.quote $i2.actsession($active) topic $2 : $+ $3-
- else i2.quote $i2.actsession($active) topic $2
- }
- elseif ($1 == /me) {
- i2.quote $i2.actsession($active) privmsg $i2.active :ACTION $2- $+
- i2.techo $i2.actsession($active) $i2.active $colour(Action) * $i2.pst($i2.actsession($active),$i2.var($i2.actsession($active),me),$i2.active) $2-
- }
- elseif ($1 == /quit) i2.quit $i2.actsession($active) $2-
- elseif ($1 == /exit) i2.exit $i2.actsession($active) $2-
- elseif ($1 == /server) {
- if ($2 != $null) i2.changeserver $i2.actsession($active) $2 $3
- else i2.iecho $i2.actsession($active) Syntax: /server <server> [port]
- }
- elseif ($1 == /w) i2.quote $i2.actsession($active) whois $2-
- elseif ($1 == /wi) i2.quote $i2.actsession($active) whois $2 $2
- elseif ($1 == /who) {
- if ($2 != $null) i2.who $i2.actsession($active) $2
- else i2.who $i2.actsession($active) $i2.active
- }
- elseif ($1 == /dns) {
- if (($2 != $null) && (. !isin $2)) {
- i2.set $i2.actsession($active) dns on
- i2.quote $i2.actsession($active) userhost $2
- }
- elseif (. isin $2) dns $2
- else i2.iecho $i2.actsession($active) Syntax: /dns <nickname|address>
- }
- elseif ($1 == /t) {
- if ($2 != $null) i2.quote $i2.actsession($active) topic $i2.active : $+ $2-
- else i2.quote $i2.actsession($active) topic $i2.active
- }
- elseif ($1 == /dcc) {
- if (($2 == chat) || ($2 == send)) {
- set %i2.dccnick $i2.actsession($active) $3
- .enable #i2.dcc
- .timer 1 0 dcc $2 $me $4-
- }
- else i2.iecho $i2.actsession($active) Syntax: /dcc <send|chat> <nickname> [file]
- }
- elseif ($1 == /clear) clear $active
- elseif ($1 == /ame) i2.ame $i2.actsession($active) $2-
- elseif ($1 == /amsg) i2.amsg $i2.actsession($active) $2-
- elseif ($1 == /away) i2.away $i2.actsession($active) $2-
- elseif ($1 == /back) i2.back $i2.actsession($active) $2-
- elseif ($1 == /sv) i2.pmsg $i2.actsession($active) $i2.active %irc2.ver - ircN - [ver $+ $gettok(%ver,2,32) $+ ] - $nv($2) -
- elseif ($1 == /av) {
- if (%aver) i2.pmsg $i2.actsession($active) $i2.active %irc2.ver - ircN - [ver $+ $gettok(%ver,2,32) $+ ] - $nv($2) - [ $avconv(%aver) ] -
- else i2.iecho $i2.actsession($active) No addons were detected.
- }
- elseif ($1 == /tv) {
- if (%theme == on) i2.pmsg $i2.actsession($active) $i2.active %irc2.ver - ircN - [ver $+ $gettok(%ver,2,32) $+ ] - $nv($2) - [ $themefn ] -
- else i2.iecho $i2.actsession($active) No theme loaded.
- }
- elseif ($1 == /relm) {
- if ($2 != $null) i2.pmsg $i2.actsession($active) $2 %i2.rel.msg
- else i2.pmsg $i2.actsession($active) $i2.active %i2.rel.msg
- }
- elseif ($1 == /reln) {
- if ($2 != $null) i2.pmsg $i2.actsession($active) $2 %i2.rel.not
- else i2.pmsg $i2.actsession($active) $i2.active %i2.rel.not
- }
- elseif ($1 == /relc) {
- if ($2 != $null) i2.pmsg $i2.actsession($active) $2 %i2.rel.ctcp
- else i2.pmsg $i2.actsession($active) $i2.active %i2.rel.ctcp
- }
- elseif ($1 == /relsm) {
- if ($2 != $null) i2.pmsg $i2.actsession($active) $2 %i2.rel.sm
- else i2.pmsg $i2.actsession($active) $i2.active %i2.rel.sm
- }
- elseif ($1 == /relsn) {
- if ($2 != $null) i2.pmsg $i2.actsession($active) $2 %i2.rel.sn
- else i2.pmsg $i2.actsession($active) $i2.active %i2.rel.sn
- }
- elseif ($1 == /relsc) {
- if ($2 != $null) i2.pmsg $i2.actsession($active) $2 %i2.rel.sc
- else i2.pmsg $i2.actsession($active) $i2.active %i2.rel.sc
- }
- elseif ($1 == /quote) i2.quote $i2.actsession($active) $2-
- elseif ($1 == /names) {
- i2.set $i2.actsession($active) names.nottop on
- if ($2 != $null) i2.names $i2.actsession($active) $2
- else i2.names $i2.actsession($active) $i2.active
- }
- elseif ($1 == /mode) {
- i2.set $i2.actsession($active) joining on
- i2.quote $i2.actsession($active) mode $2-
- }
- elseif ($1 == /help) help
- elseif ($1 == /notify) {
- i2.unset $i2.actsession($active) notify
- i2.notify $i2.actsession($active)
- }
- elseif (($1 == /wallops) || ($1 == /locops) || ($1 == /wallchops) || ($1 == /globops) || ($1 == /swallops) || ($1 == /operwall)) i2.quote $i2.actsession($active) $remove($1,/) : $+ $2-
- elseif (($1 == /kill) || ($1 == /kline) || ($1 == /squit)) i2.quote $i2.actsession($active) $remove($1,/) $2 : $+ $3-
- elseif ($left($1,2) == /.) $right($1,$sub($len($1),2)) $2-
- elseif ($left($1,3) == //.) .timer 1 0 $right($1,$sub($len($1),2)) $2-
- else i2.quote $i2.actsession($active) $getright($1) $2-
- halt
- }
- on 1:CLOSE:@irc*á* {
- if ($i2.ischan($gettok($target,2,160))) i2.quote $i2.actsession($target) part $gettok($target,2,160)
- elseif ($target == $i2.status($i2.actsession($target))) i2.exit $i2.actsession($target)
- }
- menu @i2.channel {
- $iif($mouse.win,part) { i2.part $i2.actsession($active) $i2.active }
- $iif($mouse.win,who) { i2.who $i2.actsession($active) $i2.active }
- -
- $iif($mouse.win,irc2)
- .exit { i2.exit $i2.actsession($active) }
- .disconnect { i2.quit $i2.actsession($active) }
- -
- $iif($mouse.win,ctcp)
- .xlist { i2.ctcp $i2.actsession($active) $i2.active xdcc list }
- .ping { i2.ctcp $i2.actsession($active) $i2.active ping }
- .time { i2.ctcp $i2.actsession($active) $i2.active time }
- .other { i2.ctcp $i2.actsession($active) $i2.active $$?="Enter ctcp request" }
- .finger { i2.ctcp $i2.actsession($active) $i2.active finger }
- .addon { i2.ctcp $i2.actsession($active) $i2.active addon }
- .version { i2.ctcp $i2.actsession($active) $i2.active version }
- $iif($mouse.win,topic)
- .new { i2.quote $i2.actsession($active) topic $i2.active : $+ $$?="Enter new topic" }
- .-
- .random { i2.quote $i2.actsession($active) topic $i2.active : $+ $read $td(quotes.txt) }
- $iif($mouse.win,mode)
- .secret
- ..+s { i2.quote $i2.actsession($active) mode $i2.active +s }
- ..-
- ..-s { i2.quote $i2.actsession($active) mode $i2.active -s }
- .private
- ..+p { i2.quote $i2.actsession($active) mode $i2.active +p }
- ..-
- ..-p { i2.quote $i2.actsession($active) mode $i2.active -p }
- .limit users
- ..+l { i2.quote $i2.actsession($active) mode $i2.active +l $$?="Enter number of users allowed" }
- ..-
- ..-l { i2.quote $i2.actsession($active) mode $i2.active -l }
- .invite only
- ..+i { i2.quote $i2.actsession($active) mode $i2.active +i }
- ..-
- ..-i { i2.quote $i2.actsession($active) mode $i2.active -i }
- .moderated
- ..+m { i2.quote $i2.actsession($active) mode $i2.active +m }
- ..-
- ..-m { i2.quote $i2.actsession($active) mode $i2.active -m }
- .channel key
- ..+k { i2.quote $i2.actsession($active) mode $i2.active +k $$?="Enter channel key" }
- ..-
- ..-k { i2.quote $i2.actsession($active) mode $i2.active -k $i2.key($i2.actsession($active),$i2.active) }
- .protect topic
- ..+t { i2.quote $i2.actsession($active) mode $i2.active +t }
- ..-
- ..-t { i2.quote $i2.actsession($active) mode $i2.active -t }
- .external msg
- ..+n { i2.quote $i2.actsession($active) mode $i2.active +n }
- ..-
- ..-n { i2.quote $i2.actsession($active) mode $i2.active -n }
- -
- $iif($mouse.win,utils)
- .info { scriptinfo }
- .help { help }
- $iif($mouse.win,remote)
- .away
- ..silent { i2.away $i2.actsession($active) -s $$?="Away message" }
- ..default { i2.away $i2.actsession($active) %defaulta }
- ..verbose { i2.away $i2.actsession($active) $$?="Away message" }
- .back
- ..silent { i2.back $i2.actsession($active) -s }
- ..default { i2.back $i2.actsession($active) %dback }
- ..verbose { i2.back $i2.actsession($active) $$?="Return message" }
- $iif($mouse.win == $null,whois) { i2.quote $i2.actsession($active) whois $i2.actline }
- $iif($mouse.win == $null,who) { i2.who $i2.actsession($active) $i2.actline }
- $iif($mouse.win == $null,query) { window -ae $i2.win($i2.actsession($active),$i2.actline) %i2qloc @i2.query $replace($readini $mircini Fonts fquery,$chr(44),$chr(32)) }
- -
- $iif($mouse.win == $null,bans)
- .kb
- ..fast { i2.ban $i2.actsession($active) $i2.active $i2.actline 3 | i2.kick $i2.actsession($active) $i2.active $i2.actline %shitkick }
- ..msg { i2.kick $i2.actsession($active) $i2.active $i2.actline $$?="Enter your reason:" | i2.ban $i2.actsession($active) $i2.active $i2.actline 3 }
- .ban { i2.ban $i2.actsession($active) $i2.active $i2.actline 3 }
- $iif($mouse.win == $null,mode)
- .op { i2.mmode $i2.actsession($active) + o }
- .dop { i2.mmode $i2.actsession($active) - o }
- .-
- .v { i2.mmode $i2.actsession($active) + v }
- .dv { i2.mmode $i2.actsession($active) - v }
- $iif($mouse.win == $null,kicks)
- .fast { i2.kick $i2.actsession($active) $i2.active $i2.actline }
- .msg { i2.kick $i2.actsession($active) $i2.active $i2.actline $$?="Enter your reason" }
- -
- $iif($mouse.win == $null,dcc)
- .chat { set %i2.dccnick $i2.actsession($active) $i2.actline | .enable #i2.dcc | .timer 1 0 dcc chat $me }
- .send { set %i2.dccnick $i2.actsession($active) $i2.actline | .enable #i2.dcc | .timer 1 0 dcc send $me }
- $iif($mouse.win == $null,ctcp)
- .mass
- ..ping { i2.mctcp $i2.actsession($active) PING $ticks }
- ..time { i2.mctcp $i2.actsession($active) TIME }
- ..finger { i2.mctcp $i2.actsession($active) FINGER }
- ..version { i2.mctcp $i2.actsession($active) VERSION }
- ..-
- ..other { i2.mctcp $i2.actsession($active) $$?="Enter ctcp:" }
- .-
- .ping { i2.ctcp $i2.actsession($active) $i2.actline ping }
- .time { i2.ctcp $i2.actsession($active) $i2.actline time }
- .page { i2.ctcp $i2.actsession($active) $i2.actline page $?="page message:" }
- .xdcc
- ..list { i2.ctcp $i2.actsession($active) $i2.actline xdcc list }
- ..help { i2.ctcp $i2.actsession($active) $i2.actline xdcc help }
- ..send { i2.ctcp $i2.actsession($active) $i2.actline xdcc send #$$?="send pack #?" }
- ..queue { i2.ctcp $i2.actsession($active) $i2.actline xdcc queue }
- .other { i2.ctcp $i2.actsession($active) $i2.actline $$?="enter ctcp request" }
- .finger { i2.ctcp $i2.actsession($active) $i2.actline finger }
- .version { i2.ctcp $i2.actsession($active) $i2.actline version }
- }
- menu @i2.status {
- irc2
- .exit { i2.exit $i2.actsession($active) }
- .disconnect { i2.quit $i2.actsession($active) }
- -
- server
- .time { i2.quote $i2.actsession($active) time }
- .motd { i2.quote $i2.actsession($active) motd }
- .lusers { i2.quote $i2.actsession($active) lusers }
- .admin { i2.quote $i2.actsession($active) admin }
- -
- servers { servers }
- -
- about
- .ircN 7.0 by Quietust { run notepad readme.txt }
- .www.ircN.org { www http://www.ircN.org }
- .-
- .documentation
- ..faq { run notepad $dd(faq.txt) }
- ..help { run ircN.hlp }
- ..readme { readme }
- }
- menu @i2.query {
- whois { i2.quote $i2.actsession($active) whois $i2.active }
- who { i2.who $i2.actsession($active) $i2.active }
- -
- invite { i2.quote $i2.actsession($active) invite $i2.active #$$?="inviting [ $i2.active ] to channel:" }
- dcc
- .chat { set %i2.dccnick $i2.actsession($active) $i2.active | .enable #i2.dcc | .timer 1 0 dcc chat $me }
- .send { set %i2.dccnick $i2.actsession($active) $i2.active | .enable #i2.dcc | .timer 1 0 dcc send $me }
- ctcp
- .ping { i2.ctcp $i2.actsession($active) $i2.active ping }
- .time { i2.ctcp $i2.actsession($active) $i2.active time }
- .page { i2.ctcp $i2.actsession($active) $i2.active page $?="page message:" }
- .xdcc
- ..list { i2.ctcp $i2.actsession($active) $i2.active xdcc list }
- ..help { i2.ctcp $i2.actsession($active) $i2.active xdcc help }
- ..send { i2.ctcp $i2.actsession($active) $i2.active xdcc send #$$?="send pack #?" }
- ..queue { i2.ctcp $i2.actsession($active) $i2.active xdcc queue }
- .other { i2.ctcp $i2.actsession($active) $i2.active $$?="enter CTCP request" }
- .finger { i2.ctcp $i2.actsession($active) $i2.active finger }
- .version { i2.ctcp $i2.actsession($active) $i2.active version }
- -
- close { window -c $active }
- }
-